/**
 * forEach 按升序的方法将数组中的有效的值执行一次callback函数 那些删除或者未初始化的项将被跳过
 * @param {*} callback 回调函数 
 * @param {*} that 用于指定this的指向 不传入时将按照函数this默认规则匹配
 */
Array.prototype.myForEach = function (callback, that) {
    if (that) {
        let Arr = this
        this = that
    }
    for (let i = 0; i < this.length; i++) {
        if (this[i]) {
            callback(this[i], i, Arr)
        }
    }
}